home *** CD-ROM | disk | FTP | other *** search
-
-
-
- FORK C Library Procedures FORK
-
-
-
- NNAAMMEE
- fork - create a new process
-
- SSYYNNOOPPSSIISS
- ppiidd == ffoorrkk(())
- iinntt ppiidd;;
-
- DDEESSCCRRIIPPTTIIOONN
- _F_o_r_k causes creation of a new process. The new process
- (child process) is an exact copy of the calling process
- except for the following:
-
- The child process has a unique process ID.
-
- The child process has a different parent process ID
- (i.e., the process ID of the parent process).
-
- The child process has its own copy of the parent's
- descriptors. These descriptors reference the same
- underlying objects, so that, for instance, file
- pointers in file objects are shared between the child
- and the parent, so that an _l_s_e_e_k(2) on a descriptor in
- the child process can affect a subsequent _r_e_a_d or _w_r_i_t_e
- by the parent. This descriptor copying is also used by
- the shell to establish standard input and output for
- newly created processes as well as to set up pipes.
-
- The child processes resource utilizations are set to 0;
- see _s_e_t_r_l_i_m_i_t(2).
-
- RREETTUURRNN VVAALLUUEE
- Upon successful completion, _f_o_r_k returns a value of 0 to the
- child process and returns the process ID of the child pro-
- cess to the parent process. Otherwise, a value of -1 is
- returned to the parent process, no child process is created,
- and the global variable _e_r_r_n_o is set to indicate the error.
-
- EERRRROORRSS
- _F_o_r_k will fail and no child process will be created if one
- or more of the following are true:
-
- [EAGAIN] The system-imposed limit on the total number
- of processes under execution would be
- exceeded. This limit is configuration-
- dependent.
-
- [EAGAIN] The system-imposed limit MAXUPRC
- (<_s_y_s/_p_a_r_a_m._h>) on the total number of
- processes under execution by a single user
- would be exceeded.
-
- [ENOMEM] There is insufficient swap space for the new
-
-
-
- Sprite v1.0 May 22, 1986 1
-
-
-
-
-
-
- FORK C Library Procedures FORK
-
-
-
- process.
-
- SSEEEE AALLSSOO
- execve(2), wait(2)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Sprite v1.0 May 22, 1986 2
-
-
-
-